package com.syys.privacy.service.impl;


import java.util.List;

import com.syys.common.utils.DateUtils;
import com.syys.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.syys.privacy.mapper.QaPersonalInfoSafetyMapper;
import com.syys.privacy.domain.QaPersonalInfoSafety;
import com.syys.privacy.service.IQaPersonalInfoSafetyService;
import com.syys.common.core.text.Convert;

/**
 * 个人信息的委托处理、共享、转让和公开披露Service业务层处理
 *
 * @author ys
 * @date 2021-07-26
 */
@Service
public class QaPersonalInfoSafetyServiceImpl implements IQaPersonalInfoSafetyService {
    @Autowired
    private QaPersonalInfoSafetyMapper qaPersonalInfoSafetyMapper;

    /**
     * 查询个人信息的委托处理、共享、转让和公开披露
     *
     * @param safetyId 个人信息的委托处理、共享、转让和公开披露ID
     * @return 个人信息的委托处理、共享、转让和公开披露
     */
    @Override
    public QaPersonalInfoSafety selectQaPersonalInfoSafetyById(Long safetyId) {
        return qaPersonalInfoSafetyMapper.selectQaPersonalInfoSafetyById(safetyId);
    }

    /**
     * 查询个人信息的委托处理、共享、转让和公开披露列表
     *
     * @param qaPersonalInfoSafety 个人信息的委托处理、共享、转让和公开披露
     * @return 个人信息的委托处理、共享、转让和公开披露
     */
    @Override
    public List<QaPersonalInfoSafety> selectQaPersonalInfoSafetyList(QaPersonalInfoSafety qaPersonalInfoSafety) {
        return qaPersonalInfoSafetyMapper.selectQaPersonalInfoSafetyList(qaPersonalInfoSafety);
    }

    /**
     * 新增个人信息的委托处理、共享、转让和公开披露
     *
     * @param qaPersonalInfoSafety 个人信息的委托处理、共享、转让和公开披露
     * @return 结果
     */
    @Override
    public Long insertQaPersonalInfoSafety(QaPersonalInfoSafety qaPersonalInfoSafety) {
        if (StringUtils.isNull(qaPersonalInfoSafety.getSafetyId())){
            qaPersonalInfoSafety.setCreateTime(DateUtils.getNowDate());
            qaPersonalInfoSafetyMapper.insertQaPersonalInfoSafety(qaPersonalInfoSafety);
        } else {
            qaPersonalInfoSafety.setCreateTime(DateUtils.getNowDate());
            qaPersonalInfoSafetyMapper.updateQaPersonalInfoSafety(qaPersonalInfoSafety);
        }
        return qaPersonalInfoSafety.getSafetyId();
    }

    /**
     * 修改个人信息的委托处理、共享、转让和公开披露
     *
     * @param qaPersonalInfoSafety 个人信息的委托处理、共享、转让和公开披露
     * @return 结果
     */
    @Override
    public int updateQaPersonalInfoSafety(QaPersonalInfoSafety qaPersonalInfoSafety) {
        qaPersonalInfoSafety.setUpdateTime(DateUtils.getNowDate());
        return qaPersonalInfoSafetyMapper.updateQaPersonalInfoSafety(qaPersonalInfoSafety);
    }

    /**
     * 删除个人信息的委托处理、共享、转让和公开披露对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteQaPersonalInfoSafetyByIds(String ids) {
        return qaPersonalInfoSafetyMapper.deleteQaPersonalInfoSafetyByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除个人信息的委托处理、共享、转让和公开披露信息
     *
     * @param safetyId 个人信息的委托处理、共享、转让和公开披露ID
     * @return 结果
     */
    @Override
    public int deleteQaPersonalInfoSafetyById(Long safetyId) {
        return qaPersonalInfoSafetyMapper.deleteQaPersonalInfoSafetyById(safetyId);
    }
}